home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
bbs
/
pprd199.zip
/
LOG
< prev
next >
Wrap
Text File
|
1996-10-09
|
6KB
|
174 lines
0.90 First release
0.91 Provide one extra connection so that lpq requests can get
through and return status. Lprm requests fail; they make no
sense.
Display IP address of client.
Rudimentary security. Server and client must both be on same
subnet. Can be disabled with -s option.
More security; allow and deny IP lists.
Distribution includes lpr.pl for the ifilter and banner.pl for
the ofilter on Berkeley LPD systems.
Announce available printers with tones: C,D,E
0.92 More information on lpq status: on/offline, paper out.
Option -n to override number of printers reported by BIOS.
Option -lhostip logs startup message and status changes to
syslogd on host.
Fixed bug in lpr.pl. Was sending out data file again as control
file. Remnants of test implementation. Made lpr.pl unworkable
with standard LPDs and also wasted channel capacity.
0.93 Report jobname, username and hostname on completion of job.
Use name resolution so names can be specified for -a, -d and
-l.
0.94 Conformance to RFC1179. Control and data files in either
order. Use N for jobname rather than J. Limits on username and
hostname now conform to RFC. Jobname truncated to 31 chars
though.
Respond to long query request as for short query.
Changes to lpr.pl to match. Try to use ports 721 to 731
inclusive. Naming conventions for data and control files as
RFC.
0.95 Add -j option to select direct (telnet-like) protocol. Just
a raw byte stream, ended by closing the connection. On port
9100+n (n=0,1,2) by default.
Provided jd.pl to send data by direct protocol.
Fixed harmless comparison operator bugs in lpr.pl.
Fixed bug in lpr.pl where control and data were using same
count of bytes because same variable was used.
Improved buffering strategy: if printer is busy, keep
collecting data as long as there is room in buffer. Allows
clients that send small packets to continue sending without
being blocked by printer handshake.
0.96 Fixed bug where server closed connection before printing everything
in direct mode. Doesn't happen in lpd mode because of handshake.
Forgot to provide jd.pl in last release.
New program jd.exe, a DOS client for direct protocol.
Use DOS LPT to COM redirection in conjunction with TSRCOMM,
an interrupt I/O serial driver. See documentation in LPTCOM.ZIP.
Provided documentation in pprd.doc and jd.doc.
0.97 Added -i option to pprd to reinitialise printer via hardware line
when job aborted via C-Fn keys.
Send a reset via sock_abort when job cancelled from console so
that client will receive notification of a broken connection.
Lpr.pl and jd.pl changed to take note of this.
New program jdlprd.pl for Unix systems to provide a jd to lpr
gateway so jd.exe can send jobs to Unix also.
Harmless typo in jd.pl.
No need to call tcp_shutdown() in jd.c. It will be done by
atexit().
0.98 Bug in pprd.c. Under some circumstances, PPRD may miss a EOF
from the client, leaving it stuck in the protocol.
Bug on lpr.pl. Forgot to adjust length to send EOF byte too.
New feature. Printers can be assigned names in wattcp.cfg.
Defaults are lpt[123].
0.99 For printing via BIOS, interface will not be ready after the
print call, so check again. Should be able to batch the
bytes better.
Direct write to hardware port can be selected by -b. Should
be able to handle fast interfaces better than BIOS. Won't
make much difference with slow printers because the bottleneck
is the printer in that case.
Moved most operation instructions out of README. Documentation
in nroff format. Printable version supplied.
1.00 Final version.
Tweak printer status checking in loop.
Print out statistics at end of job.
1.01 Bug fix
Steve Pacenka discovered that ack not sent at end of job.
1.95 New cycle
Try to improve buffering strategy and memory usage, so:
Circular buffer instead of fill/empty strategy.
Compile in compact memory model to use far heap.
Allocate larger buffers from far heap.
Put under Artistic License instead of GNU Copyleft because
of disgust with RMS's tasteless handing of Lignux affair.
1.96 Bug in buffer size tracking. Macros would fail if < 63k allocated.
Do status polling right when using BIOS printing routines.
Institute a turn counter for fairness between reading and writing.
Implement joblen == 0 means EOF == EOJ for lpd protocol. Not tested.
1.97 Adaptive task scheduling, give reader/writer a turn for every 1/8th
of the buffer empty/full.
Limit BIOS printer output to 2048 bytes at a time to prevent
printer from hogging schedule.
1.98 Made memory debugging display a command line option
Added option to skip printing, just to show transfer stats
Add checked tcp_tick call to WAITING state, otherwise a quick
connect and exit hangs the channel.
Added hack to jd.pl to wait for server to be ready again before
exiting, or it will fail to connect on next job while current one
is printing.
Skip printing stats if connection closed without any data transfer.
Also if connection closed with NAK.
1.99 Added 1 second delay between sock_flush and sock_close to cater
to TCP/IP stacks and clients that can't handle a connection close
too soon after final data. The problem client: pmlpr on top of
MS tcp32b. Not sure which one is the guilty party. Maybe other
clients too. (Gee I never get such problems with decent clients
like Unix lprs, or even the DOS lprs.)
Implemented suggestions from Scott Brynen: flag to output
to console for testing. Arguments to -a and -d can be network
addresses, where the hostid part, as determined using the netmask,
is all 0.
Abort the job if sender disconnects. Some clients don't handle
this properly, in this case DOS lprs. Unix lpr works fine.
Use getopt instead of doing argument parsing ourselves. Side
effect, -j requires an argument now.